package com.hyt.it.ogt.ks.model.entity;

import java.io.Serializable;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author liuhenghuo
 */
@Data
@TableName("ks_answer_progress")
@ApiModel(value="考生作答进度对象", description="考生作答进度对象")
public class AnswerProgress implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id", hidden = true)
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "考试Id")
    @NotNull(message = "考试id不能为空")
    private String examId;

    @ApiModelProperty(value = "考生Id")
    @NotNull(message = "考生id不能为空")
    private String candidateId;

    @ApiModelProperty(value = "试卷顺序号")
    @NotNull(message = "试卷顺序号不能为空")
    private Integer paperSort;

    @ApiModelProperty(value = "大题ID")
    private String topicId;

    @ApiModelProperty(value = "小题ID")
    private String itemId;

    @ApiModelProperty(value = "子小题ID")
    private String childItemId;

    @ApiModelProperty(value = "大题索引")
    private Integer topicSort;

    @ApiModelProperty(value = "小题索引")
    private Integer itemSort;

    @ApiModelProperty(value = "子小题索引")
    private Integer childItemSort;

    @ApiModelProperty(value = "答题作答时长（毫秒）")
    @TableField("answer_time")
    private Long answerTime;

    @ApiModelProperty(value = "创建时间", hidden = true)
    private LocalDateTime createDate;

    @ApiModelProperty(value = "更新时间", hidden = true)
    private LocalDateTime updateDate;

    @TableField("is_del_flag")
    @ApiModelProperty(value = "删除标记(false：正常；true：删除)", hidden = true)
    private Boolean delFlag;

}
